namespace ApplicationControllerExample.Views.Secondary
{
    using ApplicationControllerExample.Model.Commands;
    using Core;

    public class SecondaryPresenter : IPartOfTheProcess
    {
        public SecondaryPresenter(ISecondaryView view, IApplicationController appController)
        {
            View = view;
            AppController = appController;
            View.Presenter = this;
        }

        private ISecondaryView View { get; set; }
        private IApplicationController AppController { get; set; }

        #region IPartOfTheProcess Members

        public void DoThatThing()
        {
            View.Run();
        }

        #endregion

        public void Whatever()
        {
            AppController.Raise(new SomeEventData("you did what?"));
        }

        public void ThatThingHappened(string s)
        {
            AppController.Raise(new SomeEventData("click-o-that menu"));
        }
    }
}